package com.qf.blog.exception.handler;

import com.qf.blog.exception.BlogException;
import com.qf.blog.utils.Result;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 定义一个全局异常管理器
 */
@RestControllerAdvice
public class BlogExceptionHandler {

    // 业务异常
    @ExceptionHandler(BlogException.class) // 只有出现BlogException的子类时才会进入这个方法
    public Result blogException(BlogException e) {
        e.printStackTrace();
        return Result.error(e.getMsg());
    }


    // 系统异常
    @ExceptionHandler(Exception.class) // 只有出现BlogException的子类时才会进入这个方法
    public Result systemException(Exception e) {
        e.printStackTrace();
        return Result.error("系统正在维护，请稍后再试。");
    }
}
